let obj1={
    name:'阿里浪',
    arr:[1,[2,3],4]
}

function shallowClone(source) {
    var target = {};
    for(var i in source) {
        if (source.hasOwnProperty(i)) {   // 将对象自己的属性拷贝，不拷贝原型链
            target[i] = source[i];
        }
    }
    return target;
}

let obj2=obj1
obj2.name='字节浪'
let obj3=shallowClone(obj1)
obj3.name='微浪'

// js 内存优化的需要 ，复杂数据类型会默认引用式赋值
//     1. 浅拷贝？遍历原对象，拷贝一份，只拷贝第一层